console.log(111)
const fs = require('fs')

function readFile(path, isSetError) {
  return new Promise((reslove, reject) => {
    fs.readFile(path, 'utf8', function (err, data) {
      if (err || isSetError) {
        reject('承诺失效了')
      }
      const resData = JSON.parse(data)

      reslove(resData)
    })
  })
}
// readFile('./user.json').then((res) => {
//   console.log(res)
// })
// readFile('./userCourse.json').then((res) => {
//   console.log(res)
// })
// readFile('./course.json').then((res) => {
//   console.log(res)
// })

//合并三个文件的内容为一个数组,按照顺序排列,如果一个读取失败返回reject状态
//接收   interable 的参数    ====> Array   set  map
//interable 内部如果不是promise直接reslove
//interable 内部无元素返回空数组
//有一个实例为reject则直接返回reject
//失败的原因呢是第一个promise的结果
// Promise.all([
//   readFile('./user.json'),
//   readFile('./userCourse.json'),
//   readFile('./course.json'),
// ]).then((res) => {
//   console.log(res)
// }).catch(err => {
//   console.log(err);
// })

// 使用多个异步任务并发运行,他的结果创建承诺之后使用,等待所有任务结果的完成,多用于同时处理三个并发任务

readFile('./user.json').then((res) => {
    console.log(res);

    return Promise.resolve('成功啦') // =====>>>>Promise.reslove和Promise.reject
  })
  .then((res) => {
    console.log(res);
  })